home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
os2
/
gp2_101.zip
/
GP2.DOC
< prev
next >
Wrap
Text File
|
1994-07-19
|
35KB
|
835 lines
Graphic Packet für OS/2
Version 1.01
(C) Ulf Saran, DH1DAE 1993-1994
Vorläufiges Handbuch
Vorwort
Endlich gibt es sie, die erste Version von Graphic Packet für OS/2. Ich
habe im Dezember 1993 mit den Programmierarbeiten angefangen und habe sehr
intensiv an der Programmierung gearbeitet, damit es endlich etwas mehr
Programmvielfalt im OS/2-Sektor gibt. Wichtig war mir dabei, daß es überhaupt
einmal ein PR-Programm für den OS/2-PM gibt und nicht, daß direkt schon die
erste Version dieses Programms perfekt ist. ;)
So wird man gegenüber der DOS-Version sicher noch einige Details vermissen,
doch habe ich für die nächsten Versionen von GP/2 bereits viele Ideen, die
ich nur bisher aus Zeitmangel noch nicht in die Tat umsetzten konnte.
Geplant ist vor allem noch eine Online-Hilfe, die dieses Handbuch
vollständig ablösen wird. Daher wurde diese Dokumentation auch sehr kurz
gehalten. Ich glaube aber, daß die meisten Funktionen bzw. Dialogfenster
selbsterklärend sind und keiner großen Erklärung bedürfen...
1. Inhalt der GP/2-Diskette
Die GP/2-Diskette muß folgende Dateien enthalten:
#GP2.EXE Selbstentpackendes Archiv mit den Programmdateien
von GP/2
ALAS.DOC Die Bestimungen, unter denen GP/2 zu benutzen bzw.
weiterzugeben ist.
INSTALL.DOC Sollte diese Datei fehlen, stimmt jetzt irgendetwas
nicht. ;-)
2. Installation von GP/2 auf die Festplatte
Starten sie eine OS/2-Session und legen sie ein Unterverzeichnis an, in das
GP/2 installiert werden soll. Danach in das Unterverzeichnis wechseln und
#GP2.EXE von Diskette starten. Wenn sich die GP/2-Diskette in Laufwerk A:
befindet, lautet der Befehl dafür "A:\#GP2". Bei Laufwerk B: entsprechend
"B:\#GP2".
Nachdem alle Dateien entpackt und auf die Festplatte installiert wurden,
sollten Sie ein WPS-Objekt für GP/2 anlegen. Dazu öffnen Sie den Ordner
"Schablonen" und ziehen die Schablone "Programm" auf die Arbeitsoberfläche.
Sie können fpr GP/2 auch einen eigenen Ordner anlegen. Dazu brauchen Sie
nur die Schablone "Ordner" auf die Arbeitsoberfläche zu ziehen und diesen
zu öffnen, danach die Schablone "Programm" auf den geöffneten Ordner ziehen.
Nachdem man das Programmobjekt angelegt hat, öffnet sich das "Einstellungen"-
Notebook des neuen Programmobjekts. Tragen sie nun den Dateinamen und das
Arbeitsverzeichnis ein.
WICHTIG: Unbedingt das Arbeitsverzeichnis richtig eintragen. In diesem
Verzeichnis werden die Konfigurationsdateien von GP/2 abgelegt.
Nun ist GP/2 installiert und kann gestartet werden.
3. Der erste Start von GP/2
Wenn sie GP/2 das erste Mal starten, erscheint zunächst ein Dialogfenster
für die V24-Einstellungen. Die Bedienungselemente dürften selbsterklärend
sein. ;)
Nachdem man die gewünschten Parameter eingestellt hat, den Knopf "Anwenden"
drücken. Nun müßten sich das Monitorfenster und die Anzahl von Kanalfenstern
öffnen, die man im V24-Dialog gewählt hat.
Bevor man aber mit dem Connecten loslegen kann, muß man zunächst noch einige
weitere Parameter einstellen. Zuerst sollten die verschiedenen System-
Verzeichnisse erstell werden. Dazu wählen sie den Menüpunkt "Verzeichnisse"
aus dem "Optionen"-Menü und tragen die gewünschten Verzeichnispfade in die
Eingabefenster ein. Danach ist es ratsam, im Menüpunkt "Frequenzen" den/die
benutzen Digipeater sowie deren Frequenzen einzutragen. Diese Angaben sind
für den GP/2-Autorouter sowie das automatische Logbuch wichtig.
Des weiteren muß noch das Mycall für jeden Kanal festgelegt werden. Dazu
wählt man nacheinander jedes Fenster (Durch Anklicken mit der Maus oder mit
Hilfe des "Fenster"-Menüs) und betätigt dann den "Parameter"-Knopf (Das
grüne, kursive !-Zeichen).
4. Wählen der Schriftfonts
Nach dem ersten Start von GP/2 ist in allen QSO-Fenstern die Schriftart
"System Proportional" eingestellt, die Standard-Schrift des PM.
Proportional-Schriften sind für Textanwendungen wie PR allerdings relativ
ungeeignet, da sie z.B. bei Tabellen ein recht chaotisches Bild liefern.
Man sollte daher eine Monospace-Schriftart wählen, ich persönlich kann
die Schrift "System-VIO" empfehlen. (Die Schrift, die von OS/2- und DOS-
Sitzungen im Fenstermodus verwendet wird)
Hierzu muß man zunächst die Schriftarten-Palette öffnen und dann die
gewünschte Schriftart in das jeweilige Fenster von GP/2 ziehen.
Da jedes Fenster seine eigene Schftart besitzt, ist das zunächst relativ
viel Arbeit. Die aktuellen Einstellungen können beim Programmende jedoch
gespeichert und beim nächsten Programmstart wiederhergestellt werden.
Gleiches gilt auch für die Positionen der Fenster auf dem Desktop.
Zum Speichern der Einstellungen muß man den Menüpunkt "Fensterparameter
speichern" im Menü "Optionen" aktivieren. Die Funktion ist aktiviert, wenn
sich ein Haken vor dem Text befindet. Damit die Einstellungen beim nächsten
Programmstart wiederhergestellt werden, muß man auch den Menüpunkt
"Fensterparameter wiederherstellen" aktivieren.
5. Die Mailbox-Funktion
Wie die DOS-Version von GP hat auch GP/2 eine Funktion, die das Lesen von
Mail vereinfacht. GP/2 erkennt automatisch eine CHECK- oder LIST-Liste der
DieBox-BBS. (Andere Mailboxsysteme werdn derzeit noch nicht unterstützt,
folgen aber noch in den nächsten Versionen)
Damit GP/2 eine CHECK- oder LIST-Liste erkennt, müssen folgende Bedingungen
erfüllt sein:
- Die Mailbox muß als B>-Station in NAMES.GP eingetragen sein
- Die Überschrift der jeweiligen Liste muß GP/2 bekannt sein. Dazu muß man
zunächst eine kurze Liste von der Mailbox anfordern, z.b. mit "c 1" und
dann die Überschrift mit Cut&Paste aus dem RX-Fenster in das
Dialogfenster "Mailbox-Header" im Menü "Optionen/QSO" kopieren.
Es muß die komplette Zeile kopiert werden, inclusive <CR>.
Insgesamt können bis zu 1024 Bytes an Header-Daten gespeichert werden.
Bei Check-Listen ist als "Header" folgende Zeile gemeint:
# Call File Nr. Datum @MBX Bytes #LT Titel
Bei Rubriken-Listings, die mit dem "List"-Befehl angefordert werden,
ist als "Header" die Zeile gemeint, in der der Rubriken-Name angegeben
wird. Beispiel: "User-File: DH1DAE"
Man braucht aber nicht für jede Rubrik eine eigene Zeile einzutragen,
sondern GP/2 filtert den richtigen Namen aus der jeweils empfangenen
Zeile. Im Gegensatz zu den "Check-Headern" brauchen die "List-Header"
auch nicht komplett eingetragen zu werden sondern nur bis zu der Stelle,
wo der Rubriken-Name beginnt. Es reicht also die Angabe von
"User-File:".
Für die Erkennung von EL-Verzeichnislisten muß man folgende Zeile
eintragen: "Dateien im Unterverzeichnis:" bzw. die Zeile, in der das
aktuelle Verzeichnis angezeigt wird. Mit ist leider nicht bekannt, ob
die Meldungen von EL in irgendeiner Weise vom Sysop editiert werden
können oder ob sie konstant sind...
6. Die Connect-Texte
Bei GP/2 gibt es zwei Arten von Connect-Texten:
a) Normale ASCII-Texte
Die ASCII-Connect-Texte werden in einem Dialogfenster erstellt und
editiert. (Menüpunkt "Optionen/QSO/Connect/QRT-Texte")
Innerhalb der Connect- und QRT-Texte kann man folgende Makros verwenden:
%B : Das Klingelzeichen (0x07)
%C : Das Call der Gegenstation
%D : Das aktuelle Datum in der Form tt.mm.yyyy
%K : Die Nummer des jeweiligen Kanals
%N : Der Name der Gegenstation (falls bekannt)
%T : Die aktuelle Uhrzeit in der Form hh:mm:ss
%V : Die Versionsnummer von GP/2
%Y : Das eigene Call (mycall)
%_ : CR (0x0D)
%% : Das Prozentzeichen
Die Länge des Makros kann gleichzeitig mit der Befehlsfolge "#<Nummer>"
direkt hinter dem Makro angegeben werden. Beispiel: %T#10
Ist das Makro kürzer als die Zahl, wird es mit Leerzeichen aufgefüllt,
bis es die gewünschte Länge erreicht hat. Ist es länger, wird es bei
der angegebenen Länge abgeschnitten.
b) REXX-Programme
Anstelle eines normalen ASCII-Textes kann man auch ein REXX-Programm
als Connect-Text verwenden. Hierfür muß man eine Datei namens "LOGIN.CMD"
im GP/2-Verzeichnis anlegen. Sobald eine Station von außen connected,
wird eine OS/2-Sitzung gestartet und das REXX-Programm ausgeführt.
Innerhalb des REXX-Programms können auch andere OS/2-Programme gestartet
werden, sofern diese die Standard-Ein/Ausgabe benutzen. Siehe dazu das
Kapitel "Externe Fernsteuer-Programme"
Wurden für bestimmte Calls persönliche ASCII-Connect-Texte angelegt,
wird LOGIN.CMD ignoriert und der entsprechende ASCII-Text ausgesendet.
Man kann jedoch auch persönliche REXX-Programme anlegen. Diese müssen
ebenfalls im GP/2-Verzeichnis angelegt werden und den Namen "<call>.CMD"
haben. Für DH1DAE z.B. "DH1DAE.CMD".
Die Priorität der Connect-Texte ist folgende:
1. Persönliches REXX-Programm (<call>.cmd)
2. Persönlicher ASCII-Text
3. Allgemeines REXX-Programm (LOGIN.CMD)
4. Allgemeiner ASCII-Text
7. Info-Texte
GP/2 erlaubt die Benutzung von individuellen Info-Texten für verschiedene
mycalls. Erstellt und Editiert werden diese Info-Texte in einem
entsprechenden Dialogfenster, das über den Menüpunkt
"Optionen/QSO/Info-Texte" aufgerufen wird.
Innerhalb der Info-Texte sind die gleichen Makros erlaubt wie in den
Connect-Texten.
8. Sysop-Paßwörter
Für Sysops von DigiWare-, Flexnet-, TN(N), BayCom/BayBox und DieBox bietet
GP/2 die Möglichkeit, das entsprechende Sysop-Paßwort automatisch zu
generieren. Die Paßwort-Strings werden in dem Dialogfenster editiert, das
über den Menüpunkt "Optionen/QSO/Paßwörter" zu aktivieren ist.
Für das Flexnet-Paßwort ist die entsprechende 5-stellige Zahl, für DigiWare,
TN(N) sowie BayCom/BayBox der jeweilgie Paßwortstring einzutragen.
Für DieBox entsprechend ein Array von 60 Zeilen mit je 27 Zeichen.
Wichtig: Alle Paßwort-Strings müssen direkt an der ersten Position des
Editorfensters beginnen, also keine Leerzeilen/Leerzeichen einfügen.
(Die Paßwort-Verwaltung ist ssid-sensitiv, d.h. man kann z.B. für DB0IZ
und DB0IZ-9 verschiedene Paßwörter und Algorithmen wählen)
Hat man das Paßwort des Digipeaters bzw. der Mailbox eingegeben, wird das
Paßwort folgendermaßen generiert:
- Für DigiWare, Flexnet, TN(N) und BayCom/BayBox:
1) Den Befehl zum Sysop-Login an den Digipeater schicken
2) Den "Sysop"-Button drücken
3) Fertig
- Für DieBox:
1) Die Mailbox connecten
2) Den "Sysop"-Button drücken
3) Fertig
9. User-Paßwörter für BayBox
Entsprechend den Sysop-Paßwörtern können auch User-Paßwörter gespeichert
werden. Diese werden errechnet und ausgesendet, wenn man den "User"-Button
drückt.
Wie man ein User-Paßwort beim BayBox-System einrichten kann, ist über die
Hilfe-Funktion der Mailbox zu erfahren.
10. Die GP/2-Fernsteuerung
GP/2 bietet ein sehr flexibles Interface zur Fernsteuerung des Programms
durch andere Stationen. Sie können selbst wählen, welche Fernsteuerbefehle
Sie zulassen möchten und welche nicht. Des weiteren sind Sie nicht an die
(im Moment auch noch recht wenigen) internen Fernsteuerbefehle von GP/2
gebunden, sondern können sich auch eigene Fernsteuerbefehle definieren und
diese mit externen OS/2-Programmen verknüpfen (EXE- oder REXX).
Editiert werden die Fernsteuer-Befehle in dem Dialogfenster, das über den
Menüpunkt "Optionen/QSO/Fernsteuerung" aktiviert wird. In dieses Fenster
sind die Fernsteuer-Kommandos einzutragen. Das Format der Einträge lautet
wie folgt:
BEFEHL,<Min>[=<Programmname>] [* <Help-Text>]
------ ----- --------------- -------------
! ! ! !
! ! ! +-- Dieser Text wird bei //h ausgegeben
! ! !
! ! +------------------ Der Pfad zu dem jeweiligen externen
! ! Programm. (inclusive Extension)
! !
! +------------------------------ Die Minimale Abkürzung des Befehls
!
+------------------------------------- Der Fernsteuer-Befehl
Beispiele:
CATALOG,3 * Zeigt die Dateien im User-Verzeichnis
Befehl "CATALOG", minimale Abkürzung 3 Buchstaben ("CAT"), kein externes
Programm zugeordnet -> internes Kommando, bei //h wird der Text "Zeigt die
Dateien im User-Verzeichnis" ausgegeben.
SYSTEM,2=C:\OS2\CMD.EXE
Befehl "SYSTEM", minimale Abkürzung 2 Buchstaben ("SY"), Zuordnung zum
Programm CMD.EXE im OS/2-Verzeichnis (OS/2-Shell). Wenn die Gegenstation
nun den Befehl //SY sendet, wird der OS/2-Kommandoprozessor gestartet und
die Gegenstation kann Ihren PC (fast) uneingeschränkt fernbedienen.
Da bei diesem Befehl diesmal kein Hilfe-Text angegeben wurde, erscheint er
auch nicht in der Remote-Hilfe. Man kann auf diese Weise versteckte Befehle
definieren.
11. Externe Fernsteuer-Programme
Die wohl interessanteste Funktion bietet GP/2 mit der Möglichkeit, andere
OS/2-Programme über Packet Radio fernbedienen zu können. Durch die
Multitasking-Fähigkeiten von OS/2 wird der Betrieb von GP/2 dadurch nicht
beeinträchtigt und auch die ferngesteuerten Programme brauchen über kein
spezielles Interface zu verfügen (Stichwort: GPRI bei der DOS-Version von
GP). Aus diversen Gründen ist es allerdings nur möglich, OS/2-Programme
fernzusteuern. Mit DOS-Programmen würde es theoretisch zwar auch
funktionieren, doch treten in der Praxis einige schwerwiegende Probleme
auf, die ich bisher noch nicht lösen konnte.
Die fersteuerbaren OS/2-Programme müssen eine Bedingung erfüllen: Sie
müssen die Standard-Ein/Ausgabe benutzen. Die Fernsteuerung von PM-Programmen
ist nicht möglich. Diese Programme werden zwar gestartet, doch die Ausgabe
landet dann natürlich auf dem PM.
GP/2 übergibt dem externen Programm einige Environment-Variablen, über die
das Programm einige Daten über das zugehörige QSO erlangen kann:
GP_VERSION Die Versinsnummer von GP/2
GP_CH Die Nummer des Kanals (ASCII-Zahl)
GP_CCALL Das Call der Gegenstation
GP_CPATH Der Digipeater-Pfad zur Gegenstation
GP_CNAME Der Name der Gegenstation
GP_MYCALL Das eigene Call
12. Der GP/2-Autorouter
Der GP/2-Autorouter entspricht im wesentlichen dem der DOS-Version.
Der Autorouter von GP/2 hilt Ihnen, bekannte Stationen zu connecten, ohne daß
Sie den kompletten Pfad eingeben müssen oder sich von Hand durch die
Digipeater durchzuconnecten. Voraussetzung dafür ist jedoch, daß der Pfad
zu der jeweiligen Station bekannt ist und in der Datei NAMES.GP eingetragen
wurde. Die Listeneinträge haben immer folgende Syntax:
TYP>CALL NAME; PFAD
oder
TYP>IDENT:CALL NAME; PFAD
Bei Benutzung von IDENTs ist es auf jeden Fall wichtig, Ident UND Call
anzugeben, da GP/2 nur mit den Calls arbeitet. Daher kann jeder Station
ein beliebiges Ident zugeteilt werden, also auch z.B. Flexnet-Digipeatern.
Dies ist aber nur möglich, weil GP/2 nach außen hin immer nur mit dem Call
einer Station arbeitet, aber nicht mit dem Ident. Der Ident wird lediglich
GP/2-intern verwendet.
Wichtig ist auch die richtige Angabe des Typs, denn dadurch erkennt GP/2,
welche Aktionen durchgeführt werden dürfen und welche nicht. So kann die
Check- und List-Funktion nur bei Mailboxen gebraucht werden, während
Fernsteuer-Befehle nur von TERMs (Terminal-Endstellen) bzw. von unbekannten
Stationen zugelassen werden. Des weiteren werden Die Statusmeldungen am Ende
einer AutoBin- oder 7plus-Speicherung ebenfalls nur an T>-Stationen gesendet.
Bei anderen Stationen werden die Texte nur auf dem Bildschirm angezeigt.
Der Name der Station darf Leerzeichen enthalten und kann theoretisch
beliebig lang sein. Es muß darauf geachtet werden, daß die Rufzeichen und die
Typenangabe in Großbuchstaben geschrieben wird, so wie bei den untenstehenden
Beispielen. Ist die entsprechende Station direkt und ohne einen Digipeater
erreichbar, dann wird der Pfadeintrag einfach weggelassen, ansonsten enthält der
Pfad eine Auflistung aller notwendigen Digipeater.
Ein Digipeatereintrag hat immer folgende Syntax:
TYP>CALL
oder
TYP>IDENT
oder
TYP>IDENT:CALL
WICHTIG: Der letzte Eintrag muß in jedem Fall IMMER die Syntax TYP>CALL
besitzen und darf keinen Ident enthalten!
Der Typ kann folgende Buchstaben annehmen:
B : Mailbox (z.B. B>DB0SGL)
D : L2-Digipeater (z.B. D>DB0ID)
F : Flexnet-Digipeater (z.B. F>DB0FN)
N : NetRom-Digipeater (z.B. N>DB0EAM)
! : Wie N, nur daß hier der Befehl "C!" verwendet wird
T : Terminal-Endstelle (z.B. T>DH1DAE)
Wird eine Terminal-Endstelle als Digipeater benutzt, dann generiert GP/2
automatisch einen entsprechenden Remote-Befehl, also "//C ...".
Anhand dieser Typenbezeichner erkennt GP, auf welche Weise über die
einzelnen Stationen connected werden muß. Ein Pfadeintrag sieht z.B.
folgendermaßen aus:
T>DH1DAE Ulf; D>DB0NWS D>DB0FN T>DH1DAE
In diesem Fall sendet GP/2 an den TNC den Befehl "C DH1DAE DB0NWS DB0FN".
Ist in der Pfadliste jedoch ein N>- oder F>-Digi vorhanden, z.B.:
T>DH1DAE Ulf; N>DB0HSK F>DB0DOZ D>DB0FN T>DH1DAE
dann sieht die Connectsequenz etwas anders aus. Jetzt wird zunächst der
Digipeater DB0HSK connected, dann der Befehl "C DB0DOZ" und anschließend der
Befehl "C DH1DAE DB0FN" ausgesendet.
Das folgende Beispiel demonstriert die Anwendung des Typs "!":
T>DF3VI Patrick; D>DB0FN-9 !>DB0II !>ON5PL !>ON5ZS F>LX0PAC D>DB0HOM
GP/2 generiert nun folgende Connect-Sequenz:
"C DB0II DB0FN" "C! ON5PL" "C! ON5ZS" "C! LX0PAC" "C DF3VI DB0HOM"
Idents können beispielsweise so angewendet werden:
F>SIEGEN:DB0FN Digi Siegen
T>ULF:DH1DAE Ulf; D>SIEGEN T>DH1DAE
Nun kann man im Connect-Dialogfenster anstelle von "DH1DAE" auch "ULF"
eingeben, und GP/2 generiert den Connect-Befehl "C DH1DAE DB0FN".
12.1 Rekursive Pfadeinträge
In der Pfadliste muß nicht der komplette Pfad eingegeben werden, sondern es
kann auf einen anderen, schon bekannten Pfad aufgebauen.
Beispiel:
F>DB0FN Digi Siegen
F>DB0WST Netzknoten West; F>DB0FN F>DB0WST
F>DB0ME Digi Solingen; F>DB0WST F>DB0ME
B>DB0SGL Mailbox Siegen; F>DB0FN B>DB0SGL
B>DB0IZ Mailbox Solingen; F>DB0ME B>DB0IZ
Der vollständige Pfad zu DB0IZ z.B. wird nun aus dem Pfad zu DB0ME und zu
DB0WST zusammengesetzt. Es ergibt sich beim Connecten dann automatisch
folgender Pfad:
F>DB0FN F>DB0WST F>DB0ME B>DB0IZ
Die Verwendung der rekursiven Pfadeinträge hat zwei Vorteile:
1. Man muß weniger eintippen (hi)
2. Die Pfadliste wird variabler, falls ein bestimmter Digipeater ausfällt
oder ein neuer Link dazukommt, braucht nur EIN Pfadeintrag geändert zu
werden.
12.2 Autorouting über SP-Gateways
Sollte in einem Pfad ein Link über ein SP-Gateway vorkommen, bei dem hinter
dem Call auch noch eine Portnummer angegeben werden muß, läßt sich dies
durch einen Trick erreichen, und zwar durch einen "Dummy-Digi".
Beispiel:
DL9ZZZ ist ein SP-Gateway, der mit Port0 auf 70cm und mit Port1 auf 2m QRV
ist. OM A ist auf 2m QRV und will DB0XYZ auf 70cm connecten. Der
entsprechende Connect-Befehl müßte also lauten "//C DB0XYZ 0". Der Pfad-
eintrag in NAMES.GP sieht dann folgendermaßen aus:
N>DB0XYZ Testdigi; T>DL9ZZZ D>0 N>DB0XYZ
GP/2 connected zuerst DL9ZZZ und sendet dann den Befehl "//C DB0XYZ 0".
(Hat DL9ZZZ seinen Gateway als Node konfiguriert, kann man anstelle von
"T>DL9ZZZ" auch "N>DL9ZZZ" eintragen)
Dieser Trick kann nicht nur bei SP-Gateways angewendet werden, sondern z.B.
auch bei Baycom-Nodes, wenn dort eine Portnummer angegeben werden muß.
12.3 Einige Anmerkungen zum Autorouter
Wie Sie sicher schon bemerkt haben, wertet der Autorouter die entsprechenden
Connect-Meldungen der Digipeater aus, um den tatsächlichen Endknoten zu er-
mitteln. Nachrichtentechnisch gesehen ist solch eine Art des Autoroutens
zwar ziemlich unsinnig, aber bei dem derzeitigen Packet Radio-Netz mit
seinen NetRom-Knoten nicht anders möglich. Das bessere Routing wird auf
jeden Fall von Flexnet-Digipeatern übernommen und es sollte daher so weit
wie möglich dieses Routing-System benutzt werden. Bei Flexnet-Digipeatern
kann angezeigt werden, welche Digipeater über das Flexnet-Autorouting
erreicht werden können, der Befehl, mit dem eine solche Liste abgerufen
werden kann, ist "D".
12.4 Die QRG-Verwaltung
Im Gegensatz zur DOS-Version von GP wird die QRG-Verwaltung von GP/2 nicht
mehr in der Datei NAMES.GP vorgenommen, sondern mit Hilfe eines
Dialogfensters, das über den Menüpunkt "Optionen/Frequenzen" aktiviert wird.
In diesem Fenster kann man den jeweiligen Digipeater und dessen QRG für den
Default-Port (alle TNCs) sowie die Ports 0-3 (nur Multiport-TNCs) wählen.
Die Angabe der QRG hat Einfluß auf das QRG-abhängige Autoconnecten, das im
nachfolgenden Kapiten beschrieben wird. Des weiteren wird die QRG in das
automatische Logbuch eingetragen, sofern dieses aktiviert ist.
Die Angabe des Digipeaters wirkt sich auf das Makro %DIGI% aus. (Siehe 12.6)
12.5 QRG-abhängiges Autoconnecten
Hat man mehrere Digipeater in Reichweite und wechselt daher öfters den
Digi-Einstieg ins Netz, muß man meistens auch einige Pfadeinträge in
NAMES.GP ändern und auf den jeweiligen Digipeater anpassen. Damit man das
nicht per Hand machen muß, kann man QRG-abhängige IF-Bedingungen in NAMES.GP
einbauen. Die Funktionsweise läßt sich am besten direkt an einem Beispiel
erklären:
Ich bin in der Lage, sowohl über DB0FN als auch über DB0NWS zu arbeiten.
DB0FN arbeite ich über Port 0 und hat die QRG 430.625,
DB0NWS wird über Port 1 gearbeitet und hat die QRG 433.775
Dann kann die Datei NAMES.GP z.B. so aussehen:
<IF 430.625>
B>DB0SGL Mailbox Siegen; D>DB0FN B>DB0SGL
F>DB0ME FALCon-Digi Solingen; D>DB0FN F>DB0ME
<END>
<IF 433.775>
B>DB0SGL Mailbox Siegen; D>DB0NWS B>DB0SGL
F>DB0ME FALCon-Digi Solingen; D>DB0NWS F>DB0ME
<END>
T>DG9EP Walter; F>DB0ME T>DG9EP
B>DB0IZ Mailbox Solingen; F>DB0ME B>DB0IZ
.
.
.
Wenn man nun über DB0FN arbeitet, sieht der Pfad nach z.B. DG9EP so aus:
D>DB0FN F>DB0ME T>DG9EP
Arbeitet man hingegen über DB0NWS, ändert sich der Pfad automatisch in:
D>DB0NWS F>DB0ME T>DG9EP
Wenn man wie in dem Beispiel hierarchische Pfadeinträge benutzt, braucht man
nicht alle Pfadeinträge von einer IF-Bedingung abhängig zu machen, sondern
nur die Teilstücke, die sich durch den Digipeaterwechsel ändern.
In dem oben genannten Beispiel ist z.B. der Pfad ab DB0ME immer gleich,
deshalb braucht nur der Pfad nach DB0ME geändert zu werden, aber nicht die
Pfade, die von DB0ME aus weiterführen.
12.6 Das Makro %DIGI%
Dieses Makro ist nur bei Multiport-Betrieb interessant. GP/2 ersetzt dieses
Makro beim Erzeugen des Pfades durch das Digipeater-Call, was dem gerade
aktiven Port zugeordnet ist. Dadurch wird das Erstellen der Pfadliste
erleichtert, wenn man den Autorouter der Digipeater benutzt.
Beispiel:
(wiederum DB0FN auf Port 0 mit QRG 430.625 sowie
DB0NWS auf Port 1 mit QRG 433.775)
B>DB0SGL Mailbox Siegen; D>%DIGI% B>DB0SGL
F>DB0ME FALCon-Digi Solingen; D>%DIGI% F>DB0ME
T>DG9EP Walter; F>DB0ME T>DG9EP
B>DB0IZ Mailbox Solingen; F>DB0ME B>DB0IZ
Dieses Beispiel entspricht in der Wirkung dem aus Kapitel 10.5. Durch den
Einsatz dieses Makros können in diesem Beispiel die IF-Anweisungen weggelassen
werden.
13. Das PIPE-Interface
Zusätzlich zu den externen Remote-Programmen kann man auch noch weitere
externe Programme mit GP/2 verbinden. Zu diesem Zweck stellt GP/2 eine
Reihe von PIPES bereit, über die ein Programm mit dem GP/2-Monitor und/oder
den QSO-Kanälen kommunizieren kann. PIPES sind im Prinzip nichts anderes
als eine Datei nur mit dem Unterschied, daß nicht mit der Festplatte
kommuniziert wird, sondern mit einem anderen Programm. Für den Programmierer
stellen sich PIPES deshalb auch wie ganz normale Dateien dar, nur daß deren
Name immer mit \PIPE\ beginnt.
GP stellt folgende Pipes zur Verfügung:
\PIPE\GP\MONITOR\DATA Daten-Pipe zum GP-Monitor.
\PIPE\GP\MONITOR\CMD Kommando-Pipe zum GP-Monitor. Mit dieser Pipe
ist ein direkter Zugriff auf Kanal 0 des TNC
möglich.
\PIPE\GP\CHx\DATA Daten-Pipe für Kanal x (x = 1..10). Bei
einem Disconnect wird die Pipe geschlossen, kann
aber direkt danach wieder geöffnet werden. So
kann eine Aplikation auf einfache Weise erkennen,
daß ein Disconnect erfolgte.
\PIPE\GP\CHx\CMD Kommando-Pipe für den jeweiligen Kanal zum
Direkt-Zugriff auf den jeweiligen TNC-Kanal
Bei allen Pipes handelt es sich um "Duplex-Pipes", d.h. es sind sowohl Lese-
als auch Schreibzugriffe möglich. Die Pipes sollten immer gleichzeitig zum
Lesen und Schreiben geöffnet werden, da es sonst zu merkwürdigen Effekten
kommen kann.
13.1 Die Pipe-Protokolle
Auf den CMD-Pipes wird ein vereinfachtes WA8DED-Hostmode-Protokoll benutzt.
Da es für jeden Kanal eine eigene Pipe gibt, entfällt das Kanal-Byte.
Ebenso entfällt die Modus-Byte, da nur Kommandos gesendet werden dürfen und
auch nur Antworten auf Kommandos empfangen werden können. Die TNC-Befehle
werden Null-terminiert zur Pipe gesendet und auf jeden gesendeten Befehl
gibt es eine ebenfalls Null-terminierte Antwort des TNC. Es wird in jedem
Fall eine Antwort gesendet, bei einer "leeren" Antwort wird nur das NULL-
Byte gesendet.
Beispiel: Um das TX-Delay des TNC abzufragen, schreibt man "T<NULL>" in die
Kommando-Pipe und erhält als Antwort z.B. "30<NULL>"
Die DATA-Pipes der Kanäle benutzen kein Protokoll, sondern die Daten werden
in beiden Richtungen transparent gesendet.
Die DATA-Pipe des Monitors sendet die Monitor-Daten wiederum in einem
Protokoll, da das Client-Programm zwischen Monitor-Header und Monitor-Daten
unterscheiden muß. Monitor-Header beginnen mit einer binären 1 und enden mit
einer binären 0. Monitor-Daten beginnen mit einer binären 2, gefolgt von
2 Bytes, die die Länge der nachfolgenden Daten beinhalten. Bei der Längen-
angabe wird zunächst das Lo- und dann das Hi-Bit gesendet.
Werden die Pipes geöffnet, wird zunächst ein kurzer Copyright-Text gesendet,
der mit Ctrl-Z abgeschlossen wird. Die eigentlichen Pipe-Daten folgen erst
nach dem Ctrl-Z. Man kann den Copyright-Text auch auf dem Bildschirm
anzeigen lassen, indem man eine OS/2- oder DOS-Sitzung öffnet und dann
folgenden Befehl gibt:
"TYPE \PIPE\GP\MONITOR\DATA" (Oder auch eine andere Pipe)
13.1.1 Warten auf einen Connect
Wenn eine Applikation darauf warten will, daß ein bestimmter Kanal connected
wird, kann sie sich eines speziellen GP/2-Kommandos bedienen. Das Kommando
heißt "@@@WAITCON" und wird wie ein TNC-Kommando über die Kommando-Pipe zu
GP/2 geschickt. Die Antwort auf das Kommando kommt erst, wenn der Kanal
connectet wurde oder wenn der Warte-Timeout abgelaufen ist. Als Antwort wird
dann das Call der Gegenstation sowie der L2-Pfad zur Applikation geschickt
(Nullterminiert). Erscheint als Antwort nur eine binäre Null, so bedeutet
dies, daß innerhalb des Warte-Timeouts kein Connect erfolgt ist.
Die Applikation kann die Zeitdauer des Warte-Timeouts selbst bestimmen,
indem sie dem Befehl @@@WAITCON eine Zahl als Parameter übergibt. Diese Zahl
bestimmt den Warte-Timeout in ms.
Beispiele:
@@@WAITCON 60000 Der Warte-Timeout soll 60000ms (= 60s) betragen.
@@@WAITCON -1 Warte-Timout ausgeschaltet, es wird so lange
gewartet, bis tatsächlich ein Connect erfolgt.
@@@WAITCON 0 oder
@@@WAITCON Default-Timeout (30s)
13.2 Was man bei PIPES beachten muß
Pipes werden zwar prinzipiell wie Dateien behandelt, doch verhalten sie sich
in einem Punkt anders als normale Dateien: Wenn ein Client-Programm aus einer
Pipe lesen will, in der sich keine Daten befinden, wird das Programm (genauer
gesagt der jeweilige Thread) so lange angehalten, bis ein Datum aus der Pipe
gelesen werden konnte oder bis die Pipe vom Server-Programm geschlossen
wurde. Für DOS-Programme bedeutet das, daß für diesen Zeitraum die koplette
Sitzung angehalten wird. Es ist also z.B. nicht möglich, ein DOS-Programm
zu schreiben, das einerseits immer die Daten-Pipe ausliest und zusätzlich
noch ein Menü oder eine andere interaktive Schnittstelle zum Benutzer zur
Verfügung stellt. Zumindest ist dies nur in einem gewissen Rahmen möglich.
Bei OS/2-Programmen stellt sich dieses Problem jedoch nicht, da man hier das
Problem durch die Verwendung mehrerer Threads vermeiden kann.
ANHANG A
LIZENZBESTIMMUNGEN
GP darf nur im Rahmen der allgemeinen Lizenz für Amateurfunk Software (ALAS)
benutzt oder weitergegeben werden. Nachfolgend die Bestimmungen diese Lizenz:
Allgemeine Lizenz für Amateurfunk Software (ALAS)
Copyright (C) 1992 Hans Georg Giese, DF2AU
Hinter dem Berge 5
D-3300 Braunschweig
Dieses Dokument darf beliebig vervielfältigt oder verteilt werden,
solange es nicht verändert wird. Für Anregungen, wie es zu verbessern ist,
bin ich dankbar. (DF2AU @ DK0MAV.DL.EU)
1. Vorwort
Diese Lizenz entstand aus der General Public Licence der Free Software
Foundation (GPL). Ich habe versucht, den Sinn zu erhalten und mehr Klarheit
hineinzubringen. Einige Passagen sind vollständig entfallen. Es ist aber
jedem Nutzer freigestellt, an Stelle dieser Lizenz die GPL Bedingungen
anzuwenden.
Der Sinn dieser Lizenz ist es, den Autor und den Anwender der Software zu
schützen. Es sind daher einige Einschränkungen erforderlich und es entstehen
auch einige Pflichten für den, der die mit dieser Lizenz verbundene Software
weitergibt oder verändert.
Dies wird dadurch erreicht, dass die Software durch Copyright geschützt
wird und der Nutzer durch diese Lizenz die Möglichkeit einer nahezu
unbeschränkten Nutzung erhält.
2. Geltungsbereich
Diese Lizenz gilt für jedes Programm oder Teil eines Programmpaketes, das
eine Copyright Notiz ausgibt, die sich auf diese Lizenz bezieht. Im folgenden
bedeutet "Programm" entweder das Programm oder einen Teil davon.
"Du" bist der Lizenznehmer.
3. Deine Rechte:
Du darfst das Programm nutzen oder kopieren oder verteilen oder verändern,
solange Du damit keine kommerziellen Absichten verbindest.
4. Deine Pflichten:
4.1. Du darfst den Copyright Vermerk und den Hinweis auf diese Lizenz nicht
verändern und er muss bei jedem Start des Programms eindeutig für den
Benutzer sichtbar sein.
4.2. Du musst jedem Dritten, dem Du eine Kopie des Programms gibst, die
gleichen Rechte einräumen, die auch Dir gegeben wurden. Du musst ihm
auch die gleichen Pflichten auferlegen.
4.3. Du darfst für die Weitergabe kein Geld verlangen ausser den
Kosten für das Medium und Porto.
4.4. Du darfst das Programm nur komplett weitergeben, so wie Du es bekommen
hast. (Anmerkung DH1DAE: 1:1-Kopie der Originaldiskette!)
4.5. Wenn Du das Programm veränderst oder Teile davon für eigene Arbeiten
verwendest - wörtlich oder verändert - so gelten die folgenden Punkte für
das daraus entstehende neue Programm:
4.5.1. Du musst deutlich sichtbar angeben:
- Deinen Namen und Deine Adresse und
- die Tatsache, dass Du das Programm geändert hast oder Teile des
Programms verwendet hast.
4.5.2. Du musst das Programm entweder mit dem kompletten Quelltext
weitergeben oder jedem auf Verlangen eine Kopie des Quelltextes gegen eine
Gebühr von maximal der Kosten des Mediums und der Portokosten aushändigen.
4.5.3. Du darfst keine Beschränkungen aussprechen, die über diese Lizenz
hinausgehen.
5. Sonstiges
Du erhälst das Programm ohne jede Garantie für Funktion, Fehlerfreiheit oder
Anwendbarkeit für eine bestimmte Sache. Du verzichtest auf jede
Schadensersatzforderung, gleich aus welchem Grunde.
Mit der Nutzung des Programms erkennst Du diese Lizenzbedingungen
vorbehaltlos an.
Vers. 1.0, 13-OCT-92
Ende ALAS
ANHANG B
KONTAKTADRESSE
Wer Interesse an der neusten Version von GP/2 hat, kann eine Leerdiskette und
ausreichend Rückporto an folgende Adresse schicken:
Ulf Saran Bankverbindung:
DH1DAE Konto: 674945
Veit-Stoß-Str. 36 Institut: Sparkasse Siegen
57076 Siegen BLZ: 460 500 01
(Programmspenden sind nicht notwendig, werden aber dankbar angenommen) :-)
ANHANG C
PROGRAMMAUTOREN
Das Programm GP/2 wurde vollständig von DH1DAE entwickelt. Aufgrund der
Unterschiede zwischen der Programmierung unter DOS und der des OS/2
Presentation Managers wurde GP/2 von Grund auf neu entwickelt, ohne auf
Programmteile der DOS-Version von GP zurückzugreifen.
Als Entwicklungs-Tools wurden der IBM C Set/2 sowie das IBM OS/2 Developer's
Toolkit (beides (c) IBM Corp.) verwendet.
Besonderer Dank für Bug-Reports, Verbesserungsvorschläge etc. an:
DG9EP, DG1EHE, DG1EH, DL7GAI, DG1KJD und DB5SH.
(Diese Liste erhebt keinen Anspruch auf Vollständigkeit) ;-)
Tnx auch an ADACOM e.V.
Änderungen vorbehalten.
Siegen, den 19.07.1994